#pragma once

#include <stdint.h>

#include "hawking/indexlib/indexlib_data.pb.h"

namespace hawking {
namespace indexlib {

#ifdef DOC32
using DocId = uint32_t;
#else
using DocId = uint64_t;
#endif

#ifdef BIGSTRING
using StringLengthType = uint32_t;
#else
using StringLengthType = uint16_t;
#endif

#ifdef BIGELEMENT
using ArrayLengthType = uint32_t;
#else
using ArrayLengthType = uint16_t;
#endif

class Document {
public:
    virtual DocId DocId() const = 0;
    virtual util::IndexOp OperatroType() const = 0;
};

}
}